競プロ典型 90 問 007
(工事中)
解き方
解答例
下は上記の方法で解いたときの提出結果である。また、その提出の際に提出したソースコードをその下に転記する。
code: C
int cmp(const void *a, const void *b) {
return *(int*)a - *(int*)b;
}
int main () {
int n = 0;
int q = 0;
int res = 0;
res = scanf("%d", &n);
for (int i = 0; i < n; i++) {
res = scanf("%d", a+i);
}
qsort(a, n, sizeof(int), cmp);
res = scanf("%d", &q);
for (int i = 0; i < q; i++) {
int b = 0;
res = scanf("%d", &b);
printf("%d\n", abs(b-a0)); } else {
int ans = 0;
while(a[prev0] > b || a[prev0+1] < b) { int next = (prev0 + prev1) / 2; } else {
}
}
if (ans > a[prev0+1] - b) { }
printf("%d\n", ans);
}
}
return 0;
}
私の提出一覧
table: submissions_atcoder_typical90_007
提出のURL 提出時刻 結果 備考
感想
ローカルにおいてあったzakkan.txt(雑感)に書かれていたこと
007 - CP Classes(★3)
日時: 2021-05-03 17:19:41
定員等の制約は全くなさそうなので、各生徒は単純に、
自分のレーティングと最も近いクラスへ行けば良い。
いくつかの数の中から目的のものに近い値を探せば良いので
ソートして二分探索という常套手段が使える。
この時点で「二分探索」が常套手段になりつつあったため
自然と二分探索で実装していたが、以前だったら2分探索木を
使っていたかもしれない